package com.future.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 通用收藏目标VO（支持文章、知识等类型）
 */
@Data
public class CollectionTargetVO {
    // 基础信息（所有类型共用）
    private Long id; // 目标ID（文章ID/知识ID）
    private String type; // 目标类型（article/knowledge）
    private String title; // 标题/简短内容（文章标题/知识标题）
    private String content; // 详细内容（根据类型展示不同内容）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt; // 目标创建时间
    private Integer collectionCount; // 总收藏数

    // 作者信息（所有类型共用）
    private Long authorId; // 作者ID
    private String username; // 作者昵称
    private String avatar; // 作者头像
    private String authorRole; // 作者角色（学生/教师/医生等）

    // 类型特有字段（按需非空）
    private String imageUrl; // 文章封面图（仅文章有）
    private String categoryName; // 文章分类（仅文章有）
    private Long views; // 浏览量（文章/知识有）
    private String knowledgeType; // 知识类型（仅心理健康知识有）

    // 收藏相关信息
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime collectionCreatedAt; // 当前用户的收藏时间

    //媒体资源信息
    private String fileType;
    private String filePath;
    private String fileName;
}